Since computers are exposed to various attacks such as tampering of installed software and embedding of malware, they are required to detect such an attack received and cope with it appropriately. When the power supply of a computer is activated, a boot program is loaded in the order of the BIOS, a boot loader, an operating system (OS), and applications, for example. If such a boot program as a whole is not changed from the beginning of the manufacturing and the order of load is not changed, it can be said that the operating environment at least at the time when the boot is completed is safe.
A known method to examine a change of the boot program and the order of boot includes a technique called Trust Boot based on the credibility of a security chip named Trusted Platform Module (TPM) whose operation is specified by the Trusted Computing Group (TCG). Starting from a code named a Core Root of Trust Measurement (CRTM) that is physically protected from rewriting, Trust Boot records hash values calculated for codes that are to be booted next one by one on a Platform Configuration Register (PCR) mounted in the TPM.
The PCR cannot be reset until the power supply of the computer is restarted. A program cannot rewrite a PCR value recorded in the PCR into any value, but can read the value as needed. If a PCR value that is calculated when a certain program is executed at any timing agrees with the PCR value recorded in the PCR, then it can be confirmed that the program does not change from the time when the PCR value is written in the PCR.
The Unified Extensible Firmware Interface (UEFI) forum has developed the specifications of a new system firmware (UEFI firmware) that is used instead of BIOS or in addition to BIOS. The UEFI firmware supports safety measure named Secure Boot to stop booting if it detects alteration of the OS. Secure Boot is configured so that the UEFI firmware performs a handoff to a boot loader to load an OS that a boot disk stores at the time of startup, thus passing a control thereto.
The boot loader requests the UEFI firmware to load a boot image of the OS to a system memory. Then the UEFI firmware decrypts a digital certificate attached to the boot loader with a public key of the manufacturer, and if it does not agree with a hash value at that time that is calculated from the boot loader by comparison, boot is stopped. When the boot loader from when the OS is stored in the startup disk for the first time and the boot loader at the time of subsequent boot keep their identity completely, then it can be said that the legitimate OS is loaded without embedded malware to guide a boot destination.